'''
双指针适用的场景
1、有序数字：两数之后 三数之和
2、连续子数组： 和 >= target 的最短子数组
3、最长最短子串：包含某字符的最短子串
4、回文：回文串、回文数
5、去重： 删除重复元素
'''

def removeDuplicates(nums):
    if not nums:
        return 0
    
    slow = 0
    
    for fast in range(1,len(nums)):
        if nums[fast] != nums[slow]:
            slow += 1
            nums[slow] = nums[fast]
            
    return slow + 1 ## 新数组长度